/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package quizzempire.model.statemachine;

import quizzempire.model.Model;

/**
 *
 * @author Paulo
 */
public abstract class State {
    
    /** Modelo. */
    protected final Model modelo;
    /** Construtor class base do estado recebe o modelo. */
    public State(Model modelo)
    {
        this.modelo = modelo;
    }
    
    public State startGame()
    {
        return this;
    }
    
    public State startGame(int quizzId, int difficulty)
    {
        return this;
    }
    
    public State createQuizz()
    {
        return this;
    }
    
    public State editQuizz()
    {
        return this;
    }
    
    public State loadQuizz(String filePath)
    {
        return this;
    }
    
    public State restart()
    {
        return this;
    }
    
    public State setAnswer(int answerID)
    {
        return this;
    }
    
    public State playAgain()
    {
        return this;
    }
    
    public State editQuestions()
    {
        return this;
    }
    
    public State setName(String name)
    {
        return this;
    }
    
    public State setText(String text)
    {
        return this;
    }
    
    public State setCreator(String creator)
    {
        return this;
    }
    
    public State setDescription(String description)
    {
        return this;
    }
    
    public State setDifficulties(boolean[] difficulties)
    {
        return this;
    }
    
    public State setGenre(String genre)
    {
        return this;
    }
    
    public State setPassword(String password)
    {
        return this;
    }
    
    public State setNQuestions(int[] questionPerLevel)
    {
        return this;
    }
    
    public State saveQuizz(String location)
    {
        return this;
    }
    
    public State back()
    {
        return this;
    }
    
    public State addQuestion(String name)
    {
        return this;
    }
    
    public State removeQuestion(int id)
    {
        return this;
    }
    
    public State setQuestionDifficulty(int idQuestion, int dificulty)
    {
        return this;
    }
    
    public State setQuestionText(int idQuestion, String text)
    {
        return this;
    }
    
    public State setQuestionAnswers(int idQuestion, String[] answers)
    {
        return this;
    }
    
    
    public State loadQuizzData(int idQuizz, String password)
    {
        return this;
    }
    
}
